package productosYPresentaciones;

import java.util.ArrayList;
import java.util.List;

import sucursal.Stock;

/**
 * Clase que representa a un Producto en general.
 * Se implementa el patron Observer. Esta clase es Observable.
 * 
 * @author Stefania Lilian Chiniewicz.
 *
 */

public class Producto  implements IProductoPresentacion{

	String nombre;
	String descripcion;
	String marca;
	String tipo;
    List<Float> historialDePrecios;
    Presentacion presentacion;
	
	/**
	 * Constructor de la clase Producto.
	 * @param nombre
	 * @param descripcion
	 * @param marca
	 * @param tipo
	 */
	
	public Producto(String nombre, String descripcion,
			String marca, String tipo,Presentacion p) {
		
		this.nombre =nombre;
		this.descripcion = descripcion;
		this.marca = marca;
		this.tipo = tipo;
		this.historialDePrecios = new ArrayList<Float>();
		this.presentacion= p;
	}


	public String getDescripcion() {
		return descripcion;
	}

	public String getMarca() {
		return marca;
	}


	public String getTipo() {
		return tipo;
	}

	public List<Float> getHistorialDePrecios() {
		return historialDePrecios;
	}

	public String getNombre() {
		return nombre;
	}

	public void setHistorialDePrecios(List<Float> historialDePrecios) {
		this.historialDePrecios = historialDePrecios;
	}
	
	@Override
	public String obtenerCodigo() {
		
		return presentacion.obtenerCodigo();
	}

	@Override
	public int stockMin() {

		return presentacion.stockMin();
	}

	@Override
	public int stockCritico() {
		// TODO Auto-generated method stub
		return presentacion.stockCritico();
	}

	@Override
	public String unidadMedida() {
		// TODO Auto-generated method stub
		return presentacion.unidadMedida();
	}

	@Override
	public float precioUnitCompra() {
		// TODO Auto-generated method stub
		return presentacion.precioUnitCompra();
	}

	@Override
	public float precioUnitVenta() {
		// TODO Auto-generated method stub
		return presentacion.precioUnitVenta();
	}

	@Override
	public String ubicacion() {
		// TODO Auto-generated method stub
		return presentacion.ubicacion();
	}

	@Override
	public float precioActual() {
		// TODO Auto-generated method stub
		return presentacion.precioActual();
	}
	
}
